home *** CD-ROM | disk | FTP | other *** search
/ World of Games / World of Games.iso / degrader / degrader.doc < prev    next >
Text File  |  1995-01-31  |  13KB  |  324 lines

  1. Degrader V1.30 © 1991-93 Chris Hames.  All rights reserved. (17700 bytes)
  2. -------------------------------------------------------------------------
  3.  
  4. You  upgrade  your  system  and  what  happens?   The idiots who wrote your
  5. favorite program didn't follow the guidelines and it no longer works.  This
  6. is  where degrader comes in, it will try to degrade your system so that the
  7. old brain dead program will work on your machine.  You can also just use it
  8. to  boot  off  floppy  drives other than DF0:, force your machine to PAL or
  9. NTSC,  turn  the audio filter on or off and other things.  Please note that
  10. many  of Degrader's functions are hacks in that they may not work on future
  11. versions  of  the  Amiga  hardware  or software.  The Early Startup Control
  12. provided  in  Kickstart  3.0 (just hold down both mouse buttons at reset to
  13. use) will help getting old software to work as well.  Use its options where
  14. possible as they are more likely to work.
  15.  
  16. ***************************************************************************
  17. If you don't know what all the technical junk is about but just want to get
  18. a program to work:-
  19.  
  20. The most common way to get a brain dead program to work is to try this
  21.  
  22. "Degrader NOFASTMEM NOCACHE PRIVILEGE FLOPPIES 0444 SURVIVERESET NOEDITOP"
  23.  
  24. Or if you are running Kickstart 3.0 you should try something like
  25.  
  26. "Degrader NOFASTMEM PRIVILEGE SURVIVERESET NOEDITOP" and then use the Early
  27. Startup Control to disable all disk devices except DF0:, disable CPU caches
  28. and select the ECS or Original chipset.
  29.  
  30. If  you  what maximum speed on a machine with a data cache (68030+) and AGA
  31. (A1200/A4000) when the program works fine without Degrader but is NONDOS so
  32. you can't use SetPatch or CPU to turn on the extra features
  33.  
  34. "Degrader ENLIGHTEN CACHESON SURVIVERESET NOEDITOP"
  35.  
  36. ***************************************************************************
  37. When  you  run  the  program  from workbench you are presented with various
  38. option buttons which you can toggle on(down & highlighted)/off:-
  39.  
  40.     50Hz
  41.  
  42. Changes  the  screen  refresh rate to 50Hz (PAL).  You can use this to view
  43. the  extra  lines  a  PAL machine has that a NTSC machine normally doesn't.
  44. Good  for  NONDOS  disk  games and demos that are designed for PAL machines
  45. only  Requires  ECS  Agnus  or  Alice  and a appropriate monitor.  Note has
  46. varied  effects with a AGA chipset depending on the screen mode.  Kickstart
  47. 3.0 Early Startup Control has a similar function.
  48.  
  49.     60Hz
  50.  
  51. Changes  the  screen  refresh  rate  to 60Hz (NTSC).  Requires ECS Agnus or
  52. Alice  and  a  appropriate  monitor.   Note  has  varied effects with a AGA
  53. chipset  depending on the screen mode.  Kickstart 3.0 Early Startup Control
  54. has a similar function.
  55.  
  56.     50HzSystem
  57.  
  58. Modifies  GfxBase  to  give  values that will make some programs think this
  59. machine  is  PAL.   Useful in Kickstart 1.2/1.3.  Doesn't seem to work well
  60. with  Kickstart  2.0.   Kickstart  3.0  Early Startup Control has a similar
  61. function.
  62.  
  63.     60HzSystem
  64.  
  65. Modifies  GfxBase  to  give  values that will make some programs think this
  66. machine  is  NTSC.  Useful in Kickstart 1.2/1.3.  Doesn't seem to work well
  67. with  Kickstart  2.0.   Kickstart  3.0  Early Startup Control has a similar
  68. function.
  69.  
  70.     AudFilterOff
  71.  
  72. Most  Amiga's  have  a audio filter which can be switched off and the power
  73. light usually dims as well.
  74.  
  75.     AudFilterOn
  76.  
  77. Most  Amiga's  have  a  audio filter which can be switched on and the power
  78. light usually brightens as well.
  79.  
  80.     NoFastMem
  81.  
  82. What this does depend on whether you selected for the machine to reset.  If
  83. reset,  it will stop any memory besides chip memory from being added to the
  84. system during reset.  If Kickstart 2.0 or later is being used you can still
  85. add  memory yourself.  So if you wanted to save your Fast ram for a certain
  86. purpose  you  could  use  this  option  then when your machine boots up use
  87. ADDMEM  to  add  the memory and you will have the full amount free.  If you
  88. don't select a reset option it will patch the system so no Fast memory will
  89. be allocated by programs.
  90.  
  91.     HalfMegChip
  92.  
  93. Sets  the  amount  of  chip  memory your system has to 512K.  Some programs
  94. don't  like  it if you have 1 or 2 meg of chip memory so use this option to
  95. trick  the program into thinking you only have 512K of chip memory.  If you
  96. don't  select  a  reset  option  it  resorts  to  some  nasty  memory  list
  97. manipulation.
  98.  
  99.     OneMegChip
  100.  
  101. Sets  the  amount  of  chip memory your system has to 1024K.  Some programs
  102. don't  like it if you have 2 meg of chip memory so use this option to trick
  103. the program into thinking you only have 1024K of chip memory.  If you don't
  104. select a reset option it resorts to some nasty memory list manipulation.
  105.  
  106.     NoMemAt
  107.  
  108. Allows  you  to  stop a certain memory block from being added to the system
  109. memory  list.  If you don't select a reset option it just gives that memory
  110. block  a priority of -128 so it is not allocated until you run out of other
  111. memory.  NOTE:  you must turn the Button "ON" as well as enter value.
  112.  
  113.     AddMem
  114.  
  115. Adds memory to the memory list.  Useful if you have a non-autoconfig memory
  116. board  and  want  your  memory added at reset time so it is used a lot more
  117. instead  of your chip memory.  NOTE:  you must turn the Button "ON" as well
  118. as enter values.
  119.  
  120.     NoCache
  121.  
  122. Turns  off  your  Cache  & Burst modes of 68020 or higher processors.  Some
  123. games  do  what  is  called  self  modifying code and often end up with the
  124. processor  executing  what  is  already  in  the cache instead of what they
  125. intended.  Kickstart 3.0 Early Startup Control has a similar function.
  126.  
  127.     Privilege
  128.  
  129. Changes  move  SR,<ea>  to  move  CCR,<ea>.   MOVE SR,<ea> is privileged on
  130. processors  68010+.   If  a program gives a 00000008 GURU consistently this
  131. might  help.   Very  few  programs  read the status register directly, even
  132. fewer get it wrong as well.
  133.  
  134.     TimeWaste
  135.  
  136. Slows  down  your  machine  based  on  the  value you give 65535 to 1.  The
  137. smaller  the  number  the  slower  your machine gets.  Won't work with many
  138. programs  as  they  take  over or turn off the interrupt I use.  NOTE:  you
  139. must turn the Button "ON" as well as enter value.
  140.  
  141.     BlockDevice
  142.  
  143. Stops programs from opening a specified device.
  144.  
  145.     DF0: is -> DF0:
  146.     DF1: is -> DF1:
  147.     DF2: is -> DF2:
  148.     DF3: is -> DF3:
  149.  
  150. Use  these  to  swap  drives  around.   Set  a  drive  to  DF4:  to make it
  151. unuseable.  Hence it won't take up precious chip memory.  Only works with a
  152. reset operation.
  153.  
  154.     CachesOn
  155.  
  156. Currently  the  system  doesn't turn on the data cache, until SetPatch time
  157. (provided  you  have  one  of  course  (68030+)).   This  will  turn on the
  158. instruction  cache  and  burst  as well as the data cache and could get you
  159. extra  speed  if  it  is  not  possible  to run SetPatch before the program
  160. normally.
  161.  
  162.     Enlighten
  163.  
  164. This  is only relevant if you have the AGA chipset in your machine (such as
  165. A1200's  and  A4000's).   The  extra bandwidth and features aren't normally
  166. turned  on  until SetPatch is executed.  If a NONDOSDISK program is written
  167. correctly  enough  for  it to run with the extra bandwidth and new features
  168. then  it  could gain a lot of speed in graphics operations with them turned
  169. on.  It only works with Kickstart 3.0.
  170.  
  171.     PromoteAll
  172.  
  173. This  only  works  with  Kickstart 2.0 or later.  It allows you to make all
  174. programs  that  call  OpenScreen  use  a specific monitor.  You must have a
  175. capable  monitor  and have it also in your devs/monitors drawer or similar.
  176. NOTE:   you must turn the Button "ON" as well as enter value.  Here are the
  177. values of some monitor types and uses:-
  178.  
  179. $11000 Make all opened screens 60Hz.
  180. $91000 Make all opened screens use the NTSC DBL scan modes.
  181. $21000 Make all opened screens 50Hz.
  182. $a1000 Make all opened screens use the PAL DBL scan modes.
  183. $00000 Remove the monitor part from open screens.
  184.  
  185. You  can  also  do  some  complex things like force most screens to SUPER72
  186. 800*300 mode by giving a value of $81020.
  187.  
  188.     NoView
  189.  
  190. This is usefull for AGA machines it will create a blank display and get the
  191. system very close to a ECS state.  Does not work with reset options.
  192.  
  193. ***************************************************************************
  194. After  you  have  selected  the  options you want you have a choice of four
  195. buttons  at  the bottom of the screen.  To do it now only, to do it now and
  196. then  load  and  run  a bootblock, to survive one reset only, or to survive
  197. resets  until the left mouse button is held down and the right mouse button
  198. is not down at reset.
  199.  
  200. If you do a reset selection your machine will reboot and at reset time your
  201. screen will go dark blue->light blue->dark orange->light orange.  Note that
  202. some options require Kickstart specific code but should work with at
  203. least:-
  204.  
  205.     Kickstart 1.2 ROM.
  206.     Kickstart 1.3 ROM and A3000 Kickstart 1.3 file.
  207.     Kickstart 2.04 ROM and A3000 Kickstart 2.04 file
  208.     Kickstart 2.05 ROM (37.300)
  209.     Kickstart 3.00 ROM (39.109)
  210.  
  211. The  screen  should go green at reset time if Degrader needs to be familiar
  212. with the Kickstart to do one of the selected options, but is not.
  213.  
  214. ***************************************************************************
  215. If  you  start degrader from a Shell/CLI you can use all the keywords shown
  216. in  the  window  display  as  described above, except the DF0:  stuff.  And
  217. there a few more:-
  218.  
  219.  
  220.     Floppies
  221.  
  222. This  is  the  Shell/CLI interface to changing floppies.  Give it 4 numbers
  223. with values 0-4.
  224.  
  225.     RunBootBlock
  226.  
  227. Start the NDOS disk in DF0:.
  228.  
  229.     SurviveReset
  230.  
  231. Reset then do all the goodies.
  232.  
  233.     SurviveResets
  234.  
  235. Reset  then  do  all  the goodies.  And still be there to do it next reset.
  236. Keep it up until the user press the left mouse button at reset.
  237.  
  238.     NoEditOp
  239.  
  240. Don't bring up the window to edit options.
  241.  
  242.  
  243. ***************************************************************************
  244. Examples of using Degrader from a Shell/CLI:-
  245.  
  246.     "Degrader AUDFILTEROFF"
  247.  
  248. Bring up option window with audio filter selected.
  249.  
  250.     "Degrader AUDFILTERON NOEDITOP"
  251.  
  252. Turn the audio filter on.  The option window is not used.
  253.  
  254.     "Degrader 60HZ 60HZSYSTEM"
  255.  
  256. Bring up option window with 60HZ and 60HZSYSTEM selected.
  257.  
  258.     "Degrader ADDMEM $100000 5 10 $400000 SURVIVERESETS NOEDITOP"
  259.  
  260. Add 1 meg of memory at $400000 at each reset from now on.
  261.  
  262.     "Degrader TIMEWASTE 50 SURVIVERESET NOEDITOP"
  263.  
  264. Reset with hopefully a lot slower machine.
  265.  
  266.     "Degrader FLOPPIES 0444 SURVIVERESETS NOEDITOP"
  267.  
  268. Reset and only have DF0:  available.
  269.  
  270. ***************************************************************************
  271. Thanks to the people who have helped with testing etc, especially:-
  272.  
  273.     Pekka Heino
  274.     Andrew Morison
  275.     Michael Chamberlain
  276. ***************************************************************************
  277. Common reasons why programs fail on one machine and work on others:-
  278.  
  279. 1.   Use processor to do critical timing loops and hence on different speed
  280. machines  fail  to  delay the correct amount.  This is often the reason why
  281. custom  disk  reading  routines fail.  Turning off your fast memory, caches
  282. and  anything  else  that  makes your machine faster than the slowest Amiga
  283. might help.
  284.  
  285. 2.   Use  self-modifying  code.  The processor can end up running different
  286. instructions  to  the  the  ones  just loaded or modified because the cache
  287. still holds the old values.  You can turn off your caches.
  288.  
  289. 3.   Load  into memory at a specific location.  One machine might have more
  290. system  hardware  or a new OS could allocate more memory before the machine
  291. boots  up  and  the  program  then  overwrites  memory  already being used.
  292. Turning  off  or disconnecting any extra hardware, and disabling all drives
  293. except for DF0:  often helps with this problem.
  294.  
  295. 4.   Use  the hardware directly and don't write zeros to reserved/undefined
  296. bits.   The  next  machine comes along and those bits now do something that
  297. the program didn't intend.  If you have a AGA machine use the early startup
  298. menu  to  select the ECS or original chipset.  Using the NoView option just
  299. before executing the program will often do the trick as well.
  300.  
  301. ***************************************************************************
  302. Please  note  this  program  uses the ColdCapture, KickTagPtr and sometimes
  303. patches  LVOAddMemList,  LVOAllocMem,  LVOAvailMem,  LVOOpenDevice  so good
  304. virus detectors, like mine :-), will give you warnings.
  305.  
  306. This  program  may  be copied as long as it is accompanied by this doc file
  307. both  unaltered  & no money is charged (except for a reasonable copying fee
  308. such  as  what  Fred Fish charges).  All use of this program is at your own
  309. risk & I assume no responsibility or liability for any problems that occur.
  310.  
  311.  
  312. If you want to contact me to give me a porsche or similar,
  313.  
  314.     Chris Hames
  315.  
  316.     Internet:    bytey@werple.apana.org.au
  317.             bytey@phoenix.apana.org.au
  318.  
  319.     FidoNet:     3:633/353
  320.  
  321. If  the  above  addresses  don't  work, get the latest version of one of my
  322. other   programs  such  as  DirWork  or  PC-Task.
  323.  
  324.